#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

char* replaceSpaces(char* S, int length) {
    char* end = S + strlen(S) - 1;
    char* tmp = S + length - 1;
    while (tmp > S) 
    {
        if (*tmp == ' ') 
        {
            *end-- = '0';
            *end-- = '2';
            *end-- = '%';

            tmp--;
        }
        else 
        {
            *end = *tmp;
            end--;
            tmp--;
        }
    }
    if (*S == ' ')
    {
        *end-- = '0';
        *end-- = '2';
        *end-- = '%';
    }
    return end;
}

char* compressString(char* S) {
    char* det = S;
    char* tmp = S;
    while (*tmp != '\0')
    {
        int sum = 0;
        while (*tmp == *det)
        {
            sum++;
            tmp++;
        }
      
            det++;
            if (sum < 10)
            {
                        *det++ = sum + '0';
            }
                    else if (sum >= 10 && sum < 100)
                    {
                        *det++ = sum / 10 + '0';
                        *det++ = sum % 10 + '0';
                    }
                    else if (sum >= 100 && sum < 1000)
                    {
                        *det++ = sum / 100 + '0';
                        *det++ = sum % 100 / 10 + '0';
                        *det++ = sum % 10 + '0';
                    }
                    else if (sum >= 1000 && sum < 10000)
                    {
                        *det++ = sum / 1000 + '0';
                        *det++ = sum % 1000 / 100 + '0';
                        *det++ = sum % 100 / 10 + '0';
                        *det++ = sum % 10 + '0';
                    }
            *det = *tmp;
        
        
    }
    *det == '\0';
    return S;
}

int main()
{
    char a[20] = "aaabfffffgssd";
    char* ret=compressString(a);
    puts(a);
    return 0;
}
//
//
//
//if (sum != 1)
//{
//    det++;
//    if (sum < 10)
//    {
//        *det++ = sum + '0';
//    }
//    else if (sum >= 10 && sum < 100)
//    {
//        *det++ = sum / 10 + '0';
//        *det++ = sum % 10 + '0';
//    }
//    else if (sum >= 100 && sum < 1000)
//    {
//        *det++ = sum / 100 + '0';
//        *det++ = sum % 100 / 10 + '0';
//        *det++ = sum % 10 + '0';
//    }
//    else if (sum >= 1000 && sum < 10000)
//    {
//        *det++ = sum / 1000 + '0';
//        *det++ = sum % 1000 / 100 + '0';
//        *det++ = sum % 100 / 10 + '0';
//        *det++ = sum % 10 + '0';
//    }